import { Injectable } from '@nestjs/common';
import { CreateProjDto } from './dto/create-proj.dto';
import { UpdateProjDto } from './dto/update-proj.dto';
import { PrismaService } from 'src/prisma/prisma.service';

@Injectable()
export class ProjService {
  constructor(private prisma: PrismaService) {}

  async create(createProjDto: CreateProjDto, userId: number) {
    return await this.prisma.proj.create({
      data: { ...createProjDto, userId },
    });
  }

  async findAll(userId: number) {
    return await this.prisma.proj.findMany({
      where: { userId },
      include: {
        lines: true,
        wires: true,
      },
    });
  }

  async findOne(id: number) {
    return await this.prisma.proj.findFirst({ where: { id } });
  }

  async update(id: number, updateProjDto: UpdateProjDto) {
    return await this.prisma.proj.update({
      where: { id },
      data: updateProjDto,
    });
  }

  async remove(id: number) {
    return await this.prisma.proj.delete({ where: { id } });
  }
}
